from django.views import View
from dashopt import settings
from alipay import AliPay
from .baseview import BaseView
class MyAlipay(BaseView):
    """
        基类，主要用来初始化alipay对象
        其他视图类继承此类后可调用类中任何对象及方法
    """
    def __init__(self, **kwargs):
        # super()不影响django_view中的初始化
        super().__init__(**kwargs)
        # 初始化alipay对象
        app_private_key_string = open(settings.ALIPAY_KEY_DIRS + "app_private_key.pem").read()
        alipay_public_key_string = open(settings.ALIPAY_KEY_DIRS + "alipay_public_key.pem").read()
        self.alipay = AliPay(
            appid=settings.ALIPAY_APP_ID,
            app_notify_url=None,
            # 应用私钥【用于签名】
            app_private_key_string=app_private_key_string,
            # alipay公钥【判断是不是alipay发出的】
            alipay_public_key_string=alipay_public_key_string,
            sign_type="RSA2",
            # 默认为false[请求转发生产环境]，True[沙箱环境]
            debug=True,
        )